package cn.com.chengmandian.erp.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * ERP系统-库存模块-采购入库单
 * </p>
 *
 * @author AutoGenerator
 */
@Getter
@Setter
@TableName("erp_stock_purchase")
@ApiModel(value = "ErpStockPurchase对象", description = "ERP系统-库存模块-采购入库单")
public class ErpStockPurchase implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("采购申请ID（废弃）")
    private Integer applyId;

    @ApiModelProperty("采购申请编号（废弃）")
    private String applyNo;

    @ApiModelProperty("入库单编号 RK+年月日+两位数字（当天入库单总数+1，不足两位补0，多了递增）")
    private String purchaseNo;

    @ApiModelProperty("品类ID")
    private Integer categoryId;

    @ApiModelProperty("入库仓库ID")
    private Integer warehouseId;

    @ApiModelProperty("入库类别 1-采购入库 2-采购出入库（直发） 3-仓营建物资出入库（直发） 4-非供应链采购出入库（直发） 5-归还入库（限新品）")
    private Integer purchaseCategory;

    @ApiModelProperty("入库类型 1-采购入库 2-非供应链采购入库 3-营建入库 4-归还入库")
    private Integer purchaseType;

    @ApiModelProperty("入库方式 1-备货 2-供应商直发")
    private Integer purchaseKind;

    @ApiModelProperty("关联采购合同ID（废弃）")
    private Integer purchaseContractId;

    @ApiModelProperty("关联业务合同ID")
    private Integer businessContractId;

    @ApiModelProperty("供应商ID（废弃）")
    private Integer supplierId;

    @ApiModelProperty("供应商名称（废弃）")
    private String supplierName;

    @ApiModelProperty("标题")
    private String name;

    @ApiModelProperty("货品描述，[{“category\":\"电池\",\"name\":\"4824G\",\"amount\":11},.....]")
    private String goods;

    @ApiModelProperty("货品种类数量")
    private Integer goodsCategory;

    @ApiModelProperty("货品总数")
    private Integer goodsAmount;

    @ApiModelProperty("总成本")
    private BigDecimal goodsPrice;

    @ApiModelProperty("货品编码")
    private String goodsNo;

    @ApiModelProperty("预计入库时间")
    private Date expectInTime;

    @ApiModelProperty("预计出库时间")
    private Date expectOutTime;

    @ApiModelProperty("出库用途")
    private String sendUse;

    @ApiModelProperty("合作客户名称")
    private String outCompanyName;

    @ApiModelProperty("出库类型 1-物流 2-自提")
    private Integer sendType;

    @ApiModelProperty("物流地址")
    private String contractAddress;

    @ApiModelProperty("签收人")
    private String signUser;

    @ApiModelProperty("签收电话")
    private String signPhone;

    @ApiModelProperty("保管人")
    private String custodyUser;

    @ApiModelProperty("备注描述")
    private String remark;

    @ApiModelProperty("状态，1-草稿 2-资管审核中 3-资管审核通过 4-入库完成 5-资管不通过 6-废弃")
    private Integer status;

    @ApiModelProperty("入库审批时间")
    private Date inTime;

    @ApiModelProperty("入库审批人ID")
    private Integer inUser;

    @ApiModelProperty("入库审批人姓名")
    private String inName;

    @ApiModelProperty("入库审批意见")
    private String inRemark;

    @ApiModelProperty("创建人ID")
    private Integer createUser;

    @ApiModelProperty("创建人姓名")
    private String createName;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("修改时间")
    private Date modifyTime;
}
